﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zocono.WCS.Domain.EntityInfo;
using Zocono.WCS.Infrastructure.ApllicationDto.WCSTaskDto;
using Zocono.WCS.Infrastructure.ApllicationDto;

namespace Zocono.WCS.Domain.RouteDomain
{
    public interface IRouteDetailInfoService : IDomainService
    {
        Task<PageDto<RouteDetailInfoDto>> GetPagedRouteDetailInfoAsync(QueryRouteDetailInfoDto queryRouteDetailInfo);
        Task<List<RouteDetailInfo>> GetRouteDetailInfoByRouteIDAsync(long routeId);
        Task<bool> CreateRouteDetailInfoAsync(RouteDetailInfo routeDetailInfo);
        Task<bool> ModifyRouteDetailInfoAsync(RouteDetailInfo routeDetailInfo);
        Task<bool> DeleteRouteDetailInfoAsync(List<RouteDetailInfo> routeDetailInfoList);
        Task<List<RouteDetailInfo>> GetRouteDetailInfoByDetailIDAsync(long routeDetailInfoId);
        Task<RouteDetailInfo> GetRouteDetailInfoByIdAsync(long Id);
        Task<bool> DeleteRouteDetailInfoByIdAsync(long id);

        
        /// <summary>
        /// 一次性添加路径详情
        /// </summary>
        /// <param name="routeDetailInfo"></param>
        /// <returns></returns>
        Task<long> CreateRouteDetailInfoOutIdAsync(RouteDetailInfo routeDetailInfo);
        Task<List<RouteDetailInfo>> GetRouteDetailInfoListAsync();
    }
}
